package com.jt.controller;

import com.jt.pojo.User;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 表达式：springel表达式 简称spel表达式
 * 语法：  ${表达式内容}
 * 工作原理：
 *      容器：在内存中一个储存大量数据的Map集合
 *      1.当SpringBoot程序启动时，首先加载application.yml的配置文件
 *      2.当程序加载key-value结构时，将数据保存到Map集合中（容器内部）
 *      3.利用Spel表达式，通过key,获取value，之后为属性赋值*/
@RestController
//
//注解的规则：如果注解中只有一个属性，并且名称为value时，则属性的名称可以省略
//如果注解的属性有多个，则不能省略
@PropertySource(value = "classpath:/user.properties",encoding = "utf-8")
public class HelloController {
    @Value("${userinfo.name}")
    private String name;
    @Value("${user.info2}")
    private String name2;

    @RequestMapping("/hello")
    public String hello(){
        return "你好SpringBoot"+name+name2;
    }

    @RequestMapping("/getUser")
    public User getUser(){

        User user = new User();
//        user.setId(9527);
//        user.setName("阿祖");
//        user.setAge(18);
//        user.setSex("男");
        user.setId(9527).setName("二狗子").setSex("nan").setAge(20).setSex("男");

        return user;
    }
}
